{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Marginal Learning in Discrete Markov Networks"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"In this notebook, we show an example for learning the parameters (potentials) of a Factor Graph or Markov Network given the data and its corresponding marginals.\n",
"\n",
"In the examples, we will generate some data from given models and perform out of clique inference for certain queries."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Modeling who wins a Football game\n",
"Model who wins a football game just based off who won each game of the season."
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"from pgmpy.models import FactorGraph, JunctionTree\n",
"from pgmpy.factors.discrete import DiscreteFactor\n",
"import numpy as np\n",
"import networkx as nx\n",
"import pandas as pd\n",
"import itertools\n",
"from pgmpy.estimators.MLE import MaximumLikelihoodEstimator\n",
"from pgmpy.estimators import MirrorDescentEstimator\n",
"from pgmpy.inference.ExactInference import BeliefPropagation\n",
"from pgmpy.factors import FactorDict\n",
"from matplotlib import pyplot as plt"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Step 1: Load the `games` data and form a `FactorGraph`\n",
"`games` has the results of the 2023-2024 NFL season including the playoffs, but excluding the Super Bowl."
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
homeTeamAbbr
\n",
"
visitorTeamAbbr
\n",
"
homeWin
\n",
"
\n",
" \n",
" \n",
"
\n",
"
0
\n",
"
NYG
\n",
"
DAL
\n",
"
loss
\n",
"
\n",
"
\n",
"
1
\n",
"
NYJ
\n",
"
BUF
\n",
"
win
\n",
"
\n",
"
\n",
"
2
\n",
"
NE
\n",
"
PHI
\n",
"
loss
\n",
"
\n",
"
\n",
"
3
\n",
"
BAL
\n",
"
HOU
\n",
"
win
\n",
"
\n",
"
\n",
"
4
\n",
"
MIN
\n",
"
TB
\n",
"
loss
\n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" homeTeamAbbr visitorTeamAbbr homeWin\n",
"0 NYG DAL loss\n",
"1 NYJ BUF win\n",
"2 NE PHI loss\n",
"3 BAL HOU win\n",
"4 MIN TB loss"
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"games = pd.read_csv(\"examples/data/games.csv\")\n",
"# Define a \"win\" to include ties for the home team.\n",
"games[\"homeWin\"] = (games.homeFinalScore >= games.visitorFinalScore).map(\n",
" lambda x: \"win\" if x else \"loss\"\n",
")\n",
"TEAMS = sorted(set(games.homeTeamAbbr).union(set(games.visitorTeamAbbr)))\n",
"COLUMNS = [\"homeTeamAbbr\", \"visitorTeamAbbr\", \"homeWin\"]\n",
"df = games[COLUMNS]\n",
"df.head()"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"True"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"G = FactorGraph()\n",
"nodes = COLUMNS\n",
"# Map of variables to all possible states.\n",
"state_names = {\n",
" \"homeTeamAbbr\": TEAMS,\n",
" \"visitorTeamAbbr\": TEAMS,\n",
" \"homeWin\": [\"loss\", \"win\"],\n",
"}\n",
"cardinalities = {\"homeTeamAbbr\": 32, \"visitorTeamAbbr\": 32, \"homeWin\": 2}\n",
"# Form factors with all possible combinations of columns. Initialize each\n",
"# factor with zeros.\n",
"factors = [\n",
" DiscreteFactor(\n",
" variables=i,\n",
" cardinality=[cardinalities[j] for j in i],\n",
" values=np.zeros(tuple(cardinalities[j] for j in i)),\n",
" state_names=state_names,\n",
" )\n",
" # Model one-way, two-way, & three-way marginals.\n",
" for i in list(\n",
" itertools.chain.from_iterable(\n",
" [list(itertools.combinations(COLUMNS, i)) for i in range(1, 4)]\n",
" )\n",
" )\n",
"]\n",
"G.add_nodes_from(nodes=nodes)\n",
"G.add_factors(*factors)\n",
"G.add_edges_from(\n",
" [(node, factor) for node in nodes for factor in factors if node in factor.scope()]\n",
")\n",
"G.check_model()"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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+/tj+fLl2X6matWq6NixIyIiItCyZUvUqlUL//jHP3JtxzvvvIOgoKAC/z4OZ3WFQBEREXfx008/GQDmu+++y/b1ypUrm/Hjx5vevXsbf39/U6lSJTN79uxsj9mzZ49p2rSpKVasmClTpox57bXXslUPfvnll81zzz1nxo8fb8qXL29KlSplxowZY65fv24GDRpkSpcubR5++GHz0UcfZTvusWPHTOfOnU2pUqVM6dKlTfv27c1PP/10W9tvrYxsjDGrVq0yf/zjH829995rHn30UfPOO++Y69evZ30/JibGPPnkk6ZEiRLmkUceMX379s3W5vnz55tSpUqZL774woSEhJjixYubF154wVy+fNksWLDAVK5c2QQEBJj+/fubGzduZGvPkSNHTPHixc2FCxfM008/bRYvXpzt+5nHXrlypalataq59957TcuWLc2xY8eyHjN69GgTGhpqZs2aZR555BFTvHhx07lzZ3PhwoXbntd3333XVKxY0QQFBd323DiS+oj6SE7u1D+GDx9uwsLCbntsrVq1zJgxY7K1MdOKFSvMk08+mdVXmjVrllV5/ebHvvzyywZAtj+Zr/3mzZtN3bp1TdGiRc2DDz5ohg4dmu21bdKkienXr5956623TNmyZU14eHi29t3apmvXrpmBAweahx56yJQoUcKEhYWZTZs2ZX3/3Llz5sUXXzQPPfSQKV68uHnyySfNkiVLsh2zSZMm5s033zRvvfWWCQgIMOXLlzdz5swxly5dMpGRkcbf399UqVLFrF279rbn65133jEvvviiOXDggClVqpS5cuXKbcfu16+f6devn7n//vtN2bJlzdtvv52tsnzlypXN2LFjzYsvvmhKlChhHnroIfP3v/8923EAmH/84x+mXbt2pkSJEmb06NG3tcVRrl27Zvz8/G5rg3ieXr16mZdfftnqZtxGwb6IiMj/l7kNz759+7J9vXLlyqZMmTLmgw8+MIcPHzYTJ04099xzj/nhhx+MMcZcunTJVKxY0XTs2NHs3bvXbNiwwTz66KPZPvhffvllU7JkSdOvXz/zww8/mHnz5hkAplWrVmb8+PHm0KFDZty4caZIkSImJSXFGGPMb7/9ZqpXr25eeeUVs2fPHpOYmGi6d+9uHn/88du2/bk1kPv666/N/fffbxYsWGCSkpLMunXrTFBQkHnnnXeyfmbq1Klm48aN5qeffjIbNmwwjz/+uOnbt2/W9+fPn2+KFCliWrRoYb799luzZcsWU7ZsWdOyZUvTpUsXs3//fvPFF1+YokWLmmXLlmVrz8iRI02nTp2MMcbMnDnT/OlPf8r2/cxj16lTx8THx5udO3easLAw06BBg6zHjB492tx3333mT3/6k/nuu+/Mli1bTNWqVU337t2zPa/+/v6mZ8+eZt++fbe9do6mPqI+kpM79Y99+/bdtp1Y5tcOHz6c1cbMwPrkyZOmcOHCZsqUKeann34ye/bsMR988EHWIMvNj71w4YKpX7++ee2118ypU6fMqVOnzI0bN8zx48dNiRIlzBtvvGEOHDhgVq5cacqVK5ctcG3SpInx9/c3gwcPNj/88ENWX810a7Dfp08f06BBA/P111+bH3/80UyePNnce++95tChQ8YYY44fP24mT55svvvuO5OUlGRmzJhhChUqlLWtWeY5S5YsacaNG5fVnwsVKmTatGlj5syZYw4dOmT69u1rypYtay5fvpz1czabzVSuXNmsWbPGGGPMU089ZT7++ONs7c38fd566y3zww8/mE8++cSUKFHCzJkzJ+sxlStXNiVLljQTJ040Bw8ezGrjunXrsh4DwJQvX9589NFHJikpyRw9ejTnF72A3nrrLXPPPfeYokWLOv1c4hw2m80EBgZmG4h0Fwr2RUREjPY8NkZ7HudGfUR9JCc59Y/Q0FAzduzYrP8PHz7cPP3001n/vzmw3rVrlwFgkpOT73ieW4PwJk2amLfeeivbY0aMGHFbv/jggw+Mv79/Vv9q0qSJ+eMf/3jX3+fm8xw9etQUKlTInDhxIttjmjVrZoYPH37XY7Rt29YMHDgwW1sbNWqU9f/M/tyzZ8+sr506dcoAMNu3b8/62rp168wDDzyQlZkwdepU06RJk2znatKkialevXq233no0KGmevXqWf+vXLmyad26dbaf69q1q2nTpk3W/wGYv/zlL3f9nZzh119/NUeOHMmWeSHiCFqzLyIiPk97HmvP49yoj6iP5CS3/tGjRw8sWbIEAGCMwdKlS9GjR487His0NBTNmjVDzZo10blzZ3z44Yc4f/58ntpz4MAB1K9fP9s65oYNG+LSpUvZCq099dRTdh1v7969yMjIQEhISLb+smXLlqx+lpGRgXHjxqFmzZooU6YM/P39ERcXh2PH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/TbWr1+f6wB9XuXlvhUAvvzyy2wTggBw7733AgCWLVuGQYMGISYmBvXr10fJkiUxefLk27ZIzOt9T0ZGBhYuXIjU1NRsA2qZ963NmjWz63fIC3ufF3fjVjP72sPWe/ew3blzJ4wxGDFiRL73MtUetr6zh+327dvx7LPPokWLFgXaksrRPP0a1bRpU2zevBmbN29GeHh41tcbN26MzZs3Y8uWLWjatGm+23Gr7du3489//jPq1KmTtR2VJ9JexwXn7L2Oe/fujfvuuw8NGzbEjz/+mK9jWM3b9nr28/PDqlWr8vQzwcHBKF26NLp27eqy3YM8jfqJd/WTYsWKoWPHjli8eDGWLl2Kxx9/HLVr177r4//4xz9i+PDhiI+Px5NPPpmV0Xqru923OvIe5IknnsC9996LY8eO3Xbvkbkl8bZt29CgQQO88cYb+OMf/4iqVavmmhVtj7Vr1+LXX3/Fd999l+2+denSpfj3v/+NCxcuZD129+7duHr1atb///e//8Hf3z/btsn23Nt6KrcK9jNpD1vv28M2PT0dJUqUuOM2O3mlPWy9fw/b9PT0O6bIuwtPvUY1bdoUhw8fRlxcHJo0aZL19SZNmmDVqlVISUlxaLD/22+/ufXraC/tdWwfK/c6njZtGuLj45GamooZM2a4/Pze6ocffoCfn99tA7j16tVDsWLFsl0Dr127hmLFimXdX5w6dequW8Xdzfbt27Fs2TJ8+umnWLt2bcF/AXEJ9ZOC6dGjB7788kt89NFHd713/emnnzB8+HBs374dR48exbp163D48OEc71v37NmDgwcP4ty5c7h+/brD70FKliyJQYMG4a9//SsWLlyIpKQkfPvtt5g5cyYWLlwIgPetO3fuRFxcHA4dOoSRI0ciISEhz+e61bx589C2bVuEhoZmu2/t0qULAgICsmU6/vbbb3j11VeRmJiItWvXYvTo0XjzzTez3avbc2/rqdwy2Ncett6zh22mjIwMh42OaQ9b793DNpMj+4szeOo1qn79+rj33nthjMlWS+Lpp5/G9evX4e/vn61+R0Fkzii48+toL+11nDur9zouVaoUQkNDUa9ePZw4ccJl5/d21apVw4MPPojNmzdnfe3XX3/Ft99+iwceeCBbcLd9+3akp6fjT3/6EwDgwQcfzErltVeFChXQqlUrPPjgg3odPYj6ScH86U9/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",
"text/plain": [
"
"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Print the structure of the Graph to verify its correctness.\n",
"plt.figure(figsize=(10, 3))\n",
"top = {team: (i * 2, 0) for i, team in enumerate(sorted(nodes))}\n",
"bottom = {factor: (i, 1) for i, factor in enumerate(factors)}\n",
"# Draw all the variables & factors with their edges.\n",
"nx.draw(\n",
" G,\n",
" pos={**top, **bottom},\n",
" edge_color=\"red\",\n",
")\n",
"# Draw text labels for the factors above their nodes in the graph.\n",
"label_dict = {factor: \"{\" + \",\\n\".join(factor.scope()) + \"}\" for factor in G.factors}\n",
"for node, (x, y) in bottom.items():\n",
" plt.text(x, y * 1.2, label_dict[node], fontsize=10, ha=\"center\", va=\"center\")\n",
"# Re-draw the variables but with labels this time and colored orange.\n",
"nx.draw(\n",
" G.subgraph(nodes),\n",
" node_color=\"orange\",\n",
" pos={**top},\n",
" with_labels=True,\n",
")\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Step 2: Define a model using `MaximumLikelihoodEstimator`"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [],
"source": [
"# Initialize model\n",
"estimator = MaximumLikelihoodEstimator(model=G.to_junction_tree(), data=games)\n",
"marginals = [tuple(i.scope()) for i in G.factors]\n",
"observed_factor_dict = FactorDict.from_dataframe(df=games, marginals=marginals)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Step 3: Learn the marginals "
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [],
"source": [
"tree = estimator.model\n",
"tree.clique_beliefs = estimator.get_parameters()\n",
"modeled_factor = tree.factors[0]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Step 4: View the true marginals against estimated marginals"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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P39+eaRBRERERERUpHKdTY6IiIiIiKiyYjFERERERERGicUQEREREREZJRZDRERERERklFgMERERERGRUWIxRERERERERonFEBERERERGSUWQ0REREREZJRYDBERERERkVFiMUREREREREaJxRARERERERklFkNERERERGSUWAwREREREZFRYjFERETVQkxMDJycnKBSqeDl5YWjR48WG79x40a4urpCpVLBzc0NO3bskNY9fvwYn376Kdzc3FCnTh3Y2dkhODgYN27cKO9uEBFRBWIxREREVd769esRHh6OyMhIpKSkwN3dHX5+frh165bO+MTERAQFBWHkyJE4fvw4AgMDERgYiNOnTwMAHjx4gJSUFHz22WdISUnB5s2bcf78efTt27ciu0VEROWMxRAREVV58+bNw6hRoxAaGorWrVtjyZIlqF27NpYvX64zfsGCBfD398ekSZPQqlUrzJo1C6+++iq++eYbAIClpSXi4+MxaNAgtGzZEq+//jq++eYbJCcnIy0trSK7RkRE5YjFEBERVWn5+flITk6Gr6+v1GZiYgJfX18kJSXp3CYpKUkWDwB+fn5FxgNAdnY2FAoFrKys9JI3EREZXg1DJ0BERFQWmZmZKCgogI2NjazdxsYG586d07lNenq6zvj09HSd8Y8ePcKnn36KoKAgWFhY6IzJy8tDXl6e9DknJ6c03SAiIgPglSEiIqJiPH78GIMGDYIQAosXLy4yLioqCpaWltLi4OBQgVkSEdHLYDFERERVmrW1NUxNTZGRkSFrz8jIgFqt1rmNWq0uUXxhIXTlyhXEx8cXeVUIACIiIpCdnS0tV69efckeERFRRWExREREVZqZmRk8PT2RkJAgtWk0GiQkJMDb21vnNt7e3rJ4AIiPj5fFFxZCFy5cwO7du9GgQYNi81AqlbCwsJAtRERUufGZISIiqvLCw8MREhKC9u3bo0OHDoiOjkZubi5CQ0MBAMHBwbC3t0dUVBQAYMKECfDx8cHcuXMREBCAdevW4dixY1i2bBmAp4XQgAEDkJKSgp9//hkFBQXS80T169eHmZmZYTpKRER6pfcrQ9OnT4dCoZAtrq6uxW5T3IvviIiIXmTw4MH4+uuvMW3aNHh4eODEiROIi4uTJklIS0vDzZs3pfiOHTtizZo1WLZsGdzd3bFp0ybExsaibdu2AIDr169j27ZtuHbtGjw8PGBraystiYmJBukjERHpX7lcGWrTpg127979v4PUKPowhS++i4qKQu/evbFmzRoEBgYiJSVFGpSIiIheJCwsDGFhYTrX7du3T6tt4MCBGDhwoM54JycnCCH0mR4REVVC5fLMUI0aNaBWq6XF2tq6yNgXvfiOiIiIiIioPJRLMXThwgXY2dmhadOmePvtt4t9W/fLvPiOiIiIiIiorPR+m5yXlxdWrlyJli1b4ubNm5gxYwa6dOmC06dPw9zcXCu+tC++A/hiOyIiIiIiKju9F0O9evWS/tyuXTt4eXnB0dERGzZswMiRI/VyjKioKMyYMUMv+yIiIiIiIuNU7u8ZsrKyQosWLZCamqpzfUlffPcsvtiOiIiIiIjKqtyLofv37+PixYuwtbXVub4kL757Hl9sR0REREREZaX3Yujjjz/G/v37cfnyZSQmJqJ///4wNTVFUFAQgKcvvouIiJDiJ0yYgLi4OMydOxfnzp3D9OnTcezYsSKnRyUiIiIiItIHvT8zdO3aNQQFBeHOnTto2LAhOnfujMOHD6Nhw4YAnr74zsTkfzVY4Yvvpk6diilTpqB58+ayF98RERERERGVB70XQ+vWrSt2fWlffEdERERERFQeyv2ZISIiIiIiosqIxRARERERERklFkNERERERGSUWAwREREREZFRYjFERERERERGicUQEREREREZJRZDRERERERklFgMERERERGRUWIxRERERERERonFEBERERERGSUWQ0REREREZJRYDBERERERkVFiMUREREREREaJxRARERERERklFkNERERERGSUWAwREREREZFRYjFERERERERGicUQEREREREZJRZDRERULcTExMDJyQkqlQpeXl44evRosfEbN26Eq6srVCoV3NzcsGPHDtn6zZs3o2fPnmjQoAEUCgVOnDhRjtkTEZEhsBgiIqIqb/369QgPD0dkZCRSUlLg7u4OPz8/3Lp1S2d8YmIigoKCMHLkSBw/fhyBgYEIDAzE6dOnpZjc3Fx07twZc+bMqahuEBFRBWMxREREVd68efMwatQohIaGonXr1liyZAlq166N5cuX64xfsGAB/P39MWnSJLRq1QqzZs3Cq6++im+++UaKGTZsGKZNmwZfX9+K6gYREVUwFkNERFSl5efnIzk5WVa0mJiYwNfXF0lJSTq3SUpK0ipy/Pz8iowviby8POTk5MgWIiKq3PReDEVFReG1116Dubk5GjVqhMDAQJw/f77YbVauXAmFQiFbVCqVvlMjIqJqKDMzEwUFBbCxsZG129jYID09Xec26enppYoviaioKFhaWkqLg4PDS++LiIgqht6Lof3792PcuHE4fPgw4uPj8fjxY/Ts2RO5ubnFbmdhYYGbN29Ky5UrV/SdGhERUbmJiIhAdna2tFy9etXQKRER0QvU0PcO4+LiZJ9XrlyJRo0aITk5GV27di1yO4VCAbVare90iIiomrO2toapqSkyMjJk7RkZGUWOK2q1ulTxJaFUKqFUKl96eyIiqnjl/sxQdnY2AKB+/frFxt2/fx+Ojo5wcHBAv379cObMmfJOjYiIqgEzMzN4enoiISFBatNoNEhISIC3t7fObby9vWXxABAfH19kPBERVU96vzL0LI1Gg4kTJ6JTp05o27ZtkXEtW7bE8uXL0a5dO2RnZ+Prr79Gx44dcebMGTRu3FgrPi8vD3l5edJnPqRKRGTcwsPDERISgvbt26NDhw6Ijo5Gbm4uQkNDAQDBwcGwt7dHVFQUAGDChAnw8fHB3LlzERAQgHXr1uHYsWNYtmyZtM+///4baWlpuHHjBgBIz7+q1WreyUBEVE2UazE0btw4nD59GgcPHiw2ztvbW/bbuI4dO6JVq1ZYunQpZs2apRUfFRWFGTNm6D1fIiKqmgYPHozbt29j2rRpSE9Ph4eHB+Li4qRJEtLS0mBi8r+bITp27Ig1a9Zg6tSpmDJlCpo3b47Y2FjZL+62bdsmFVMAMGTIEABAZGQkpk+fXjEdIyKiclVuxVBYWBh+/vlnHDhwQOfVneLUrFkTr7zyClJTU3Wuj4iIQHh4uPQ5JyeHs/YQERm5sLAwhIWF6Vy3b98+rbaBAwdi4MCBRe5v+PDhGD58uJ6yIyKiykjvxZAQAh988AG2bNmCffv2wdnZudT7KCgowKlTp/Dmm2/qXM+HVImIiIiIqKz0XgyNGzcOa9aswdatW2Fubi69s8HS0hK1atUCoH3v9syZM/H666/DxcUFWVlZ+Oqrr3DlyhW8++67+k6PiIiIiIgIQDkUQ4sXLwYAdOvWTda+YsUK6XaD5+/dvnv3LkaNGoX09HTUq1cPnp6eSExMROvWrfWdHhEREREREYByuk3uRZ6/d3v+/PmYP3++vlMhIiIiIiIqUrm/Z4iIiIiIiKgyYjFERERERERGicUQEREREREZJRZDRERERERklFgMERERERGRUWIxRERERERERonFEBERERERGSUWQ0REREREZJRYDBERERERkVFiMUREREREREaJxRARERERERklFkNERERERGSUWAwREREREZFRYjFERERERERGicUQEREREREZJRZDRERERERklFgMERERERGRUWIxRERERERERonFEBERERERGSUWQ0REREREZJRYDBERERERkVFiMUREREREREaJxRARERERERmlciuGYmJi4OTkBJVKBS8vLxw9erTY+I0bN8LV1RUqlQpubm7YsWNHeaVGRETVkL7HHSEEpk2bBltbW9SqVQu+vr64cOFCeXaBiIgqWLkUQ+vXr0d4eDgiIyORkpICd3d3+Pn54datWzrjExMTERQUhJEjR+L48eMIDAxEYGAgTp8+XR7pERFRNVMe486XX36JhQsXYsmSJThy5Ajq1KkDPz8/PHr0qKK6RURE5axciqF58+Zh1KhRCA0NRevWrbFkyRLUrl0by5cv1xm/YMEC+Pv7Y9KkSWjVqhVmzZqFV199Fd988015pEdERNWMvscdIQSio6MxdepU9OvXD+3atcMPP/yAGzduIDY2tgJ7RkRE5amGvneYn5+P5ORkRERESG0mJibw9fVFUlKSzm2SkpIQHh4ua/Pz8ytywMnLy0NeXp70OTs7GwCQk5Pz0nlr8h68MKZw/y+KZRzjDH1sxlXNuMqQ48so3FYI8dL7KIvyGHcuXbqE9PR0+Pr6SustLS3h5eWFpKQkDBkyRGufhhibDP33pSr8nWZc1YqrCjkyrmLjXkapxiWhZ9evXxcARGJioqx90qRJokOHDjq3qVmzplizZo2sLSYmRjRq1EhnfGRkpADAhQsXLlwq0XL16lX9DCSlVB7jzqFDhwQAcePGDVnMwIEDxaBBg3Tuk2MTFy5cuFSupSTjkt6vDFWEiIgI2W/0NBoN/v77bzRo0AAKhUIvx8jJyYGDgwOuXr0KCwsLvezTENiPyqe69IX9qHwM1RchBO7duwc7O7sKO2ZlVN5jE/+uVj7sR+VTXfrCfpRNacYlvRdD1tbWMDU1RUZGhqw9IyMDarVa5zZqtbpU8UqlEkqlUtZmZWX18kkXw8LCokr/JSzEflQ+1aUv7Efl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uXOn0p0fIQTCwsKwZcsW7NmzB87OzrL1np6eqFmzpuycnD9/HmlpaZXunLyoL7qcOHECACrdeXmeRqNBXl5elTofVHLVdWyqDuMSwLHJEKrL2FSdxyWgCo1Nhp2/ofJZt26dUCqVYuXKleLs2bPivffeE1ZWViI9Pd3QqZXKRx99JPbt2ycuXbokDh06JHx9fYW1tbW4deuWoVMr1r1798Tx48fF8ePHBQAxb948cfz4cXHlyhUhhBBffPGFsLKyElu3bhUnT54U/fr1E87OzuLhw4cGzlyuuH7cu3dPfPzxxyIpKUlcunRJ7N69W7z66quiefPm4tGjR4ZOXeb9998XlpaWYt++feLmzZvS8uDBAylmzJgxokmTJmLPnj3i2LFjwtvbW3h7exswa91e1JfU1FQxc+ZMcezYMXHp0iWxdetW0bRpU9G1a1cDZy43efJksX//fnHp0iVx8uRJMXnyZKFQKMSuXbuEEFXnfFDpVIexqaqOS0JwbOLYVD6qy7gkRNUem1gM6bBo0SLRpEkTYWZmJjp06CAOHz5s6JRKbfDgwcLW1laYmZkJe3t7MXjwYJGammrotF5o7969AoDWEhISIoR4OoXpZ599JmxsbIRSqRQ9evQQ58+fN2zSOhTXjwcPHoiePXuKhg0bipo1awpHR0cxatSoSvmPGl19ACBWrFghxTx8+FCMHTtW1KtXT9SuXVv0799f3Lx503BJF+FFfUlLSxNdu3YV9evXF0qlUri4uIhJkyaJ7Oxswyb+nBEjRghHR0dhZmYmGjZsKHr06CENNkJUnfNBpVfVx6aqOi4JwbGpsqkuY1N1GZeEqNpjk0IIIfR/vYmIiIiIiKhy4zNDRERERERklFgMERERERGRUWIxRERERERERonFEBERERERGSUWQ0REREREZJRYDBERERERkVFiMUREREREREaJxRARERERERklFkNERERERGSUWAwREREREZFRYjFERERERERGicUQEREREREZpf8HYsGlcMyQQY8AAAAASUVORK5CYII=",
"text/plain": [
"
"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Compare a larger clique against the true marginals.\n",
"fig, axes = plt.subplots(nrows=1, ncols=2, figsize=(10, 2))\n",
"visitorTeamAbbr_marginal = observed_factor_dict[(\"visitorTeamAbbr\",)]\n",
"total_states = np.prod(visitorTeamAbbr_marginal.cardinality)\n",
"axes[0].bar(\n",
" range(total_states),\n",
" visitorTeamAbbr_marginal.values.flatten(),\n",
")\n",
"axes[0].set_title(\"Observed Marginals\")\n",
"axes[1].bar(\n",
" range(total_states),\n",
" modeled_factor.marginalize(\n",
" [\"homeTeamAbbr\", \"homeWin\"], inplace=False\n",
" ).values.flatten(),\n",
")\n",
"axes[1].set_title(\"Estimated Probability\")\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Modeling the home & visitor scores\n",
"Now, we add back in the score for the home and visitor teams."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Step 1: Make a new df from `games` with the score columns"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"